Digital video capabilities can be incorporated into a wide range of devices, including digital televisions, digital direct broadcast systems, wireless communication devices such as radio telephone handsets, wireless broadcast systems, personal digital assistants (PDAs), laptop or desktop computers, tablet computers, digital cameras, digital recording devices, video gaming devices, video game consoles, personal multimedia players, and the like. Such video devices may implement video compression techniques, such as those described in MPEG-2, MPEG-4, or ITU-T H.264/MPEG-4, Part 10, Advanced Video Coding (AVC), in order compress video data. Video compression techniques perform spatial and temporal prediction to reduce or remove redundancy inherent in video sequences. New standards, such as the High Efficiency Video Coding (HEVC) standard (which may ultimately be referred to as ITU-T H.265), continue to emerge and evolve.
Many video coding standards and techniques use block-based video coding. Block-based video coding techniques divide the video data of a video frame (or portion thereof) into video blocks and then encode the video blocks using predictive block-based compression techniques. The video blocks may be further divided into video block partitions. The video blocks (or partitions thereof) may be referred to as “coded units” and may be encoded using one or more video-specific encoding techniques as well as general data compression techniques. With the emerging HEVC standard, largest coded units (LCUs) may be divided into smaller and smaller coded units (CUs) according to a quadtree partitioning scheme, and the different CUs may be further partitioned into so-called prediction units (PUs). The CUs (or the PUs) may be encoded using motion estimation, motion compensation, transform coding such as discrete cosine transforms (DCT) that occur with respect to transform units (TUs) having one or more possible transform sizes, quantization, and variable length coding. Syntax information is often signaled with encoded video data, e.g., in a video slice header or video block header, in order to inform the decoder how to decode the video data.
Filtering techniques may be performed as part of the encoding and decoding process. Filtering may improve video quality by removing artifacts or smoothing pixel boundaries. Filtering between video block boundaries may be referred to as deblock filtering, but filtering may also be applied to pixels that are not located in block boundaries. Such filtering may be “in loop” or “post loop.” With “in loop” filtering, the filtered pixels form reconstructed video data that may be used in the predictive coding (e.g., motion estimation and motion compensation) of other video data. In contrast, with “post loop” filtering, the unfiltered video data forms the reconstructed data that is used in the predictive coding of other video data. Thus, with “post loop” filtering, the filtering occurs outside of the coding loop and only applies to data that will be reconstructed and displayed. Therefore, with “post loop” filtering, the filtered data is not used for predictive coding, and instead, the unfiltered data is used for predictive coding.